Interview mit Björn Schulz (Software-Heroes.com)

Den Tricktresor gibt es nun seit mehr als 21 Jahren. Während dieser Zeit habe ich viele Blogs kommen und gehen gesehen. Einige hatten nur drei bis zehn Beiträge, bevor nichts mehr passierte, andere hielten länger durch, aber nach ein paar Jahren ist bei den meisten die Luft raus. Inzwischen gibt es einige Blogs, die sich mehr oder weniger regelmäßig mit SAP und speziell mit der ABAP-Programmierung beschäftigen. Die meisten sind jedoch in Englisch geschrieben. Zu den deutschsprachigen Webseiten, die bezüglich ABAP immer noch im Rennen sind, gehören:

Seit sechs Jahren gibt es die Seite Software-Heroes.com von Björn Schulz, der richtig Gas gibt. Björn veröffentlicht wöchentlich neue umfangreiche Artikel (jeweils in Deutsch und Englisch!) zu zumeist aktuellen Themen. Die Artikel sind ausführlich geschrieben und decken fast alles ab, was man zu dem Thema wissen sollte. Er geht dabei sehr konsequent und methodisch vor, wovor ich nur den Hut ziehen kann. Aus seiner Arbeit sind auch die ABAP-Feature Matrix und die ABAP-Learning Matrix entstanden, in denen Informationen aufbereitet werden, die anderweitig so nicht verfügbar sind.

Da ich weiß, wie viel Arbeit und Herzblut in so einem Blog steckt, wollte ich mehr über Björn erfahren. Hier sind die Fragen, die ich im stellte und seine Antworten:

Interview

Du arbeitest bei der rewe-group. Was ist deine Aufgabe dort?

Angefangen hatte ich bei der REWE Systems mit der Einarbeitung in das Thema Workflow und dem Fachmodul Treasury, also erst einmal als normaler ABAP Entwickler. Da ich schon immer auch an technischen Themen interessiert war, hatte ich schnell das Thema Entwicklerrichtlinie und Aufbau ABAP Test Cockpit (ATC) übernommen. Wichtig war mir das Thema moderne Entwicklung und ABAP der Zukunft, woraufhin wir eine interne Schulungsserie gestartet haben, für die ich viel von dem Schulungsinhalten vorbereitet und auch die Schulungen durchgeführt hatte. Zu dieser Zeit war mein Blog seit knapp 1,5 Jahren am Bestehen. Nach der internen Umstrukturierung auf eine agile Produktlandschaft und die REWE digital, bin seit dem vor allem als Techniker unterwegs und kümmere mich um den Aufbau unserer Entwicklungslandschaft. Dazu gehören Themen wie: Aufbau und Betrieb ABAP Environment, Code-Reviews, Beratung und Schulung der Entwickler, Einführung ABAP Cloud, interne SAP Community und sich die neuen Dinge anschauen.

Welche Hobbies hast du?

Ich würde sagen ich habe mein Hobby zum Beruf gemacht, da ich bereits sehr früh mit der Entwicklung angefangen habe. Ich habe mir im Laufe der Zeit einiges an Programmiersprachen und Frameworks angeschaut (Visual Basic, Pascal, PHP, JavaScript, Dart, ABAP, Python, etc.) und kleinere/größere Projekte damit privat umgesetzt. Dazu kommt noch der tägliche Sport, um trotz Beruf und Freizeittätigkeiten einigermaßen fit zu bleiben und Gaming um den Kopf mal runter zu bekommen.

Wie bist du auf die Idee zu Software-heroes gekommen? Was hat dich motiviert, einen eigenen Blog zu betreiben?

Angefangen hatte es mit einem kleinen Projekt, welches ich für meine Frau umgesetzt hatte. Ein kleines Framework zur Erstellung von Content nach ihren speziellen Anforderungen. Dieses wollte ich weiterentwickeln, da ich Ideen für kleine Apps hatte, die man einfach nutzen kann. Aber auch weil ich kein Fan von zu vielen Apps auf dem Smartphone bin und einen einfachen Weg der Nutzung bevorzuge. Da es bereits erste Blogging Elemente gab, nutzte ich sie, um über meine Erfahrungen und meinen Lernweg zu schreiben, den ich mit ABAP auch gerade betrat.

Betreibst du den Blog privat oder geschäftlich?

Der Blog wird rein privat betrieben, ich übernehme alle Kosten die mit dem Betrieb, der Wartung und Weiterentwicklung zu tun haben. Deshalb steckt auch viel Liebe und viele Details darin.

Mit welchem CMS arbeitest du?

Ich setze aktuell auf mein eigenes CMS, welches ich nach meinen Wünschen und Ideen weiterentwickeln kann. Damit liegt zwar die volle Verantwortung wieder beim Entwickler, also mir, aber auch die Entwicklung so eines CMS erweitert den eigenen Horizont und das Wissen noch einmal gewaltig. Deshalb würde ich aktuell auch kein anderes CMS einsetzen wollen. Einen Namen hat es allerdings noch nicht bekommen, da es auch nicht öffentlich zur Verfügung steht.

Was war für dich die größte Herausforderung beim Bloggen?

Es ist sogar immer noch die größte Herausforderung beim Bloggen, regelmäßig Inhalte zu liefern. Ich denke aber auch das liegt an mir als Person, da ich seit Jahren den Freitag für meine Releases wähle und dort immer einen aktuellen ABAP Artikel veröffentlichen möchte. Da aktuell das Backlog mit den neuen Themen sehr voll ist, veröffentliche teilweise zweimal die Woche.

Woher nimmst du die Zeit zum Bloggen?

Das gute an meiner aktuellen Stelle ist, dass ich fortlaufend Schulungsinhalte erstelle und damit genug „relativ“ fertiges Material habe. Die Aufbereitung der meisten Inhalte passiert dann am Abend in unregelmäßigen Abständen. So habe ich manchmal schon 5 Artikel die auf einen Release warten und manchmal 5 Wochen keine Zeit oder keine Lust, wodurch der Puffer dann wieder weg ist. Es ist ein Geben und Nehmen, aber ich versuche dann schon regelmäßig zu liefern.

Du haust ja in kurzen Abständen einen Artikel nach dem anderen raus. Hast du eine Agenda für die Themen und einen Planung für die Veröffentlichungen oder entscheidest du spontan, was als nächstes kommt?

Grundsätzlich habe ich ein oder zwei Backlogs voll mit Themen, die mir im Alltag vor die Füße fallen oder aus Kommunikationen mit Kollegen und der Community entstehen. Daraus bastle ich mir eine Art Roadmap, um einen roten Faden zu bekommen und eine „Hauptstory“ zu erzählen, so wie mit dem ABAP RESTful Programming Model (RAP) oder aktuell ABAP Cloud. Dazwischen kommen immer wieder mal kleinere Themen, damit für jeden was dabei ist. Ich hatte es im letzten Jahr mit einer konkreten Planung versucht, aber dort sehr oft auch Items geschoben, sodass ich es wieder verworfen habe und das Adhoc plane.

Welches sind für dich persönlich die größten Herausforderungen beim Lernen/ Wissensaufbau? Und welche für ein Team?

Für mich persönlich stellt Zeit die größte Herausforderung dar, ich habe mich schon daran gewöhnt, das die meisten Beispiele recht oberflächlich sind und die Dokumentationen nie tief genug gehen. Daher nehme ich mir die Zeit eine Funktion intensiv zu testen und damit zu probieren, was geht und was vielleicht nicht so gut geht.

Bei einem Team sehe ich die Herausforderung bei den unterschiedlichen Menschen und Typen. Damit ist man schnell bei unterschiedlichen Ständen an Wissen, Niveau bei der Entwicklung und Lerngeschwindigkeit. Aus meiner Erfahrung heraus gibt man dann das Tempo vor und muss die „langsamsten“ am Ende immer noch einmal extra mitnehmen.

Welche Vorbehalte gegenüber neuen Themen begegnen dir am häufigsten bzw. welche sind am hartnäckigsten?

Im Bereich ABAP habe ich oft das Gefühl, die Menschen möchten ihren aktuellen Technologie-Stack nicht verlassen oder sich all zu schnell auf neue Dinge einlassen. Am Thema „Modern ABAP“ bin ich schon sehr lange dran, die neuen Statements sind einfach, schnell und machen Quellcode „teilweise“ weniger lang und kompliziert. Als ein zweites Thema sehe ich Eclipse, ich arbeite nun seit knapp 5 Jahren Eclipse-Only und teilweise fehlt mir die Orientierung in der SE80. Klar, am Anfang dauerte es etwas mit den Funktionen und dem Umgang, aber mittlerweile bin ich damit höchst Effizient und genieße die Vorteile (Refactoring, Informationen und ABAP Cleaner). Hier findet man noch sehr oft das SE80 Lager und mit Reports war alles besser.

Welche Tipps kannst du jemandem geben, der auf der Suche nach einer Lösung zu einem ABAP-Problem ist?

Ich würde sagen, kommt immer auf das Problem an. Die meisten Themen mit den ich mich herumschlage sind kaum bis gar nicht dokumentiert und es gibt keine guten Tutorial, die auch in die Tiefe gehen. Für mich heißt das dann, probieren, debuggen und zur Not SAP fragen, den außer dem Hersteller wird es wohl kaum einer wissen. Für alle allgemeinen Themen gehe ich meist über die Suchmaschine meiner Wahl und schaue, was andere darüber schreiben. Bei ABAP Statements finde ich die SAP Help schon sehr gut.

Was sind deine Pläne für die Zukunft?

Ich möchte gern das Thema Open Source in der ABAP Community etwas treiben und insgesamt mit der Community mehr in den Austausch kommen. Ich denke in meiner aktuellen Rolle als stellvertretender Sprecher bei der DSAG bin ich schon ein Stück nähergekommen. In meinem Unternehmen gibt es noch einiges zu tun, um die ABAP Entwicklung von Morgen aufzustellen und wer weiß was Übermorgen noch kommt.

Welcher ABAP-Befehl fehlt aus deiner Sicht? Ich hätte zum Beispiel gerne: CALL METHOD … DESTINATION…

Wenn ich immer wieder in PHP Unterwegs bin, freue ich mich danach in ABAP auf die einfache Verarbeitung von Tabellen/Arrays, wenn es um Loops, Filtern und Datenzusammenstellungen geht. ABAP hat eigentlich für fast alles ein Statement, von daher für mich soweit Feature Complete.

Was ist das nervigste ABAP-Konstrukt, das bei der täglichen Arbeit stört? Ich finde die umständliche Angabe der Filterkriterien bei FILTER auf Standardtabellen sehr nervig…

Eigentlich alle Konstrukte mit geschweiften oder eckigen Klammern, wo man sich beim Tippen die Finger brechen muss. Mag auf der englischen Tastatur recht einfach sein, auf der deutschen finde ich es sehr umständlich. Gern Tipps wie es besser oder einfacher geht. Ansonsten finde ich im Moment die neuen EML Statements (Entity Manipulation Language) noch recht sperrig zu benutzen und wirklich hübsch sehen die auch noch nicht aus.

Welche Dinge gibt es, bei denen du nicht verstehen kannst, dass sie so sind, wie sie sind, bzw. dass es keine bessere Lösung gibt? Ich verstehe nicht, warum die SM30 nicht weiterentwickelt wurde und warum Dynpros in Klassen nicht möglich sind.

Bei BOPF dachte ich immer, wieso so einen Riesen-Overhead an Objekten und Quellcode erstellen? Mit RAP kam dann endlich eine kürzere Lösung die einfacher umzusetzen ist. Sonst fällt mir nur das Friends Konzept bei Klassen ein, welches man einem OO Entwickler erst einmal näher bringen muss. Hier sollte man aufpassen, dass man es nicht als Standard verwendet, sondern eigentlich nur in „Notfällen“ oder für Unit-Tests.

Vielen Dank für das Interview, Björn!

Enno Wulff